package edu.sctu.practice.class02.hujie.my_practice.day20151119;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Created by hp on 2015/11/19.
 */
public class HelloWorld {
    public static void main(String[] args) throws ParseException {
        System.out.println("**********第一个实验***************");
        /**将基本类型转换为字符串
         * int c=10;
         * String str1=Integer.toString(c);方法一
         * String str2=String.valueOf(c);方法二
         * String str3=c+"";方法三
         *降字符串转换为基本类型
         * String str="8";
         * int d = Integer.parseInt(str);方法一
         * int e = Integer.valueOf(str);方法二
         *
         * 基本类型不能调用方法
         * */
        double m = 78.5;
        //将基本类型转换为字符串
        String str1 = Double.toString(m);

        System.out.println("m 转换为String型后与整数20的求和结果为： " + (str1 + 20));

        String str = "180.20";
        // 将字符串转换为基本类型
        Double a = Double.parseDouble(str);

        System.out.println("str 转换为double型后与整数20的求和结果为： " + (a + 20));


/**使用 Date 和 SimpleDateFormat 类表示时间
 * 没有格式的，用java.text.simpleDateFormat 类
 * 使用 Date 类的默认无参构造方法创建出的对象就代表当前时间
 * */System.out.println("**********第二个实验***************");
        Date d = new Date();

        System.out.println(d);
        Date e = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
        String today = sdf.format(e);
        System.out.println(today);


        // 使用format()方法将日期转换为指定格式的文本
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        // 创建Date对象，表示当前时间
        Date now=new Date();

        // 调用format()方法，将日期转换为字符串并输出
        System.out.println(sdf1.format(now));
        System.out.println(sdf2.format(now));
        System.out.println(sdf3.format(now));

        // 使用parse()方法将文本转换为日期
        String o = "2014-6-1 21:05:36";
        SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        // 调用parse()方法，将字符串转换为日期
        Date date = sdf4.parse(o);

        System.out.println(date);

        /**
         * java.util.Calendar 类是一个抽象类，可以通过调用
         * getInstance() 静态方法获取一个 Calendar 对象，
         * 此对象已由当前日期时间初始化，即默认代表当前时间，
         * 如 Calendar c = Calendar.getInstance();
         * */
        System.out.println("**********第三个实验***************");
        // 创建Canlendar对象
        Calendar c =Calendar.getInstance();

        // 将Calendar对象转换为Date对象
        Date date1 = c.getTime();

        // 创建SimpleDateFormat对象，指定目标格式
        SimpleDateFormat sdf5 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        // 将日期转换为指定格式的字符串
        String now1 = sdf5.format(date1);
        System.out.println("当前时间：" + now1);

        /**
         * Math类的操作数据
         * */
        System.out.println("**********第四个实验***************");
        // 定义一个整型数组，长度为10
        int[] nums = new int[10];

        //通过循环给数组赋值
        for (int i = 0; i < nums.length; i++) {
            // 产生10以内的随机数
            int x = (int)(Math.random()*10);

            nums[i] = x;// 为元素赋值
        }

        // 使用for each循环输出数组中的元素
        for (int num:nums) {
            System.out.print(num + " ");
        }
    }
}
